The present invention relates generally to computer systems and, more particularly, to the estimation of service level which computer systems provide processes running on them.
The most important metric which an administrator of a modern computer system is interested in for a particular service is the time which the computer system takes to fulfill a request for service from a process running on that computer system. This time is referred to as the response time or service level and is often an average of many such requests by the same process. Unfortunately, as is often the case, the measurement of response time is difficult, if not impossible, for applications for which the source code is unavailable. Response time is the total clock time that it takes for the computer system to service the request which includes both active computer time as well as any wait times.
One solution to this problem is to create xe2x80x9cdummyxe2x80x9d transactions and then measure the response-time of these. However, this technique is highly inaccurate and tends to underestimate the actual response-time. Data resulting from the dummy transaction requests tend to be cached as the same transactions may be being requested over and over again, whereas the user""s data may or may not be cached. Thus, response-times for the dummy transactions are often frequently much faster than response-times that would be observed in normal operation.
Thus, there is a need for a method by which a more representative value for the response time for a process running on a computer system can be obtained even when the source code for the process is unavailable.
The present patent document relates to a novel method for obtaining an estimate of service level in an operating computer system. This estimate can be compared to a predefined level of significant service level degradation thereby providing the system administrator a measure of the operating condition of the computer system. Previous methods for obtaining such a measure have relied upon creating dummy transactions and measuring their response time. Due to data caching values obtained by this technique are often faster than those obtainable.
In representative embodiments, methods are disclosed which require the following inputs from the user: (1) An optimal response-time of a typical transaction. The optimal response-time can be measured by timing a typical transaction on a lightly loaded system. This value is defined to be the optimal response time, and is the fastest response time that could be expected from the computer system for that typical transaction or transactions. Alternatively, the response times of several representative transactions could be measured on the lightly loaded system with a composite average of those results being identified as the optimal response-time. Measurements on the more heavily loaded system, would result in a longer response time. (2) A central processing unit (CPU) usage required of a typical transaction. This value can also be measured by executing a known number of transactions while measuring the actual CPU usage. (3) The number of concurrent transactions that can be completed for the typical transaction before system performance degrades by some predetermined value.
As the computer system operates it experiences a variety of load conditions. Using the methods disclosed in the present patent document, an estimated system response time is obtained which can be used by the system administrator to gage the system""s effectiveness in completing the tasks assigned to it under these varying load conditions. Two items are measured as the system operates: (1) the number of outstanding transaction requests and (2) the system CPU utilization. Given the three inputs from the user, the response-time that the end-user experiences can be approximated using the number of outstanding requests, and the CPU utilization.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.